1. Field of the Invention
The present invention relates to software lifecycle maintenance and more particularly to patch scheduling for a computer program.
2. Description of the Related Art
The process of software development begins with functional specification of a computer program leading to the source coding, compilation, arrangement and construction of different components of the computer program. Thereafter, the computer program can be tested, refined and deployed into the field for use by the end user. However, the process of software development does not end with deployment. Rather, the software lifecycle proceeds with the maintenance of the computer program in terms of error corrections, enhancements, updates and upgrades. Modifying a computer program already deployed into the field, then, often requires a process known as patching in which portions of the computer program affected by an error correction, enhancement, update or upgrade can be replaced or modified with new program code.
In the most opportune circumstance, patching a computer program requires little more than the end user permitting an automated process of retrieving the patch in the form of one or more files, possibly from over a computer communications network, temporarily storing the patch in local storage, replacing selected files for the computer program with the files of the patch, and applying any necessary configuration changes to the computer program. However, the patching process often times can be intrusive and resource intensive. Consequently, in many circumstances the end user can direct the delay or avoidance of a requisite patch. As such, to force the installation of a patch, in some circumstances the end user is given no choice as to permit the patching of a computer program, even if at a time when the consumption of computing resources will inhibit the effective use of the computer of the end user.